home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
The World of Computer Software.iso
/
thrdmrg.zip
/
RBBSSUB1.MRG
< prev
next >
Wrap
Text File
|
1988-10-28
|
7KB
|
186 lines
* ------------[ BLED merge (c) Ken Goosens ]-------------
* Merge this against RBBSSUB1.BAS to produce D:\LITE\RBBSSUB1.BAS
* RBBSSUB1.BAS: Date 10-2-1988 Size 52864 bytes
* ------------[ Created 10-28-1988 18:47:18 ]------------
* REPLACING old line(s) by new
59660 SUB PUTWORK (STRNG$,REC.NUM,REC.LEN) STATIC
ON ERROR GOTO 65000
FIELD #2,REC.LEN AS UPLOAD.RECORD$
LSET UPLOAD.RECORD$ = STRNG$
REC.NUM = REC.NUM + 1
PUT #2,REC.NUM
END SUB
* ------[ first line different ]------
'********************************************************************
' THREAD1 First message thread routine *
' THREAD2 Second message thread routine *
' THREAD3 Third message thread routine *
'********************************************************************
'===========================================================================
' $SUBTITLE: 'THREAD1 - create/update threaded message file'
' $PAGE
'
' SUBROUTINE NAME -- THREAD1
'
' INPUT PARAMETERS -- PARAMETER MEANING
' HIGH.MESSAGE.NUMBER This reply's message number
' CURRENT.MESSAGE Message number being replied
'
' OUTPUT PARAMETERS -- <<NONE>>
'
' SUBROUTINE PURPOSE -- SUBROUTINE TO...
'
SUB THREAD1 (HIGH.MESSAGE.NUMBER,CURRENT.MESSAGE,GRN$) STATIC
IF INSTR(GRN$," ") = 0 THEN 'PE102587
FILE.NAME$ = GRN$ + "T" 'PE102587
ELSE
FILE.NAME$ = LEFT$(GRN$,INSTR(GRN$," ")-1)+"T" 'PE102587
END IF
CURRENT.MESSAGE$ = STR$(CURRENT.MESSAGE)
HIGH.MESSAGE.NUMBER$ = STR$(HIGH.MESSAGE.NUMBER)
OPEN "R",9,FILE.NAME$,12
FIELD 9, 6 AS CM$, 6 AS HMN$
LSET CM$ = CURRENT.MESSAGE$
LSET HMN$ = HIGH.MESSAGE.NUMBER$
PUT #9,INT(LOF(9)/12)+1
CLOSE (9)
* INSERTING new line(s)
59670 END SUB ' THREAD1
'
' $SUBTITLE: 'THREAD2 - a message was killed - check threaded message file'
' $PAGE
'
' SUBROUTINE NAME -- THREAD2
'
' INPUT PARAMETERS -- PARAMETER MEANING
' MESSAGE.TO.KILL Killed message's number
'
' OUTPUT PARAMETERS -- <<NONE>>
'
' SUBROUTINE PURPOSE -- SUBROUTINE TO ...
'
SUB THREAD2 (MESSAGE.TO.KILL,ACTIVE.MESSAGES,GRN$) STATIC
IF INSTR(GRN$," ") = 0 THEN 'PE102587
FILE.NAME$ = GRN$ + "T"
ELSE
FILE.NAME$ = LEFT$(GRN$,INSTR(GRN$," ")-1)+"T"
END IF
OPEN "R",9,FILE.NAME$,12
FIELD 9, 6 AS CM$, 6 AS HMN$
FOR I = 1 TO INT(LOF(9)/12)
GET 9,I
IF VAL(CM$) = MESSAGE.TO.KILL THEN ' MARK THE RECORD
LSET CM$ = LEFT$(CM$,5) + "K"
PUT 9,I
ELSE
IF VAL(HMN$) = MESSAGE.TO.KILL THEN ' MARK THE RECORD
LSET HMN$ = LEFT$(HMN$,5) + "K"
LSET CM$ = LEFT$(CM$,5) + "K"
PUT 9,I
END IF
END IF
NEXT I
CLOSE (9)
59680 END SUB ' THREAD2
'
' $SUBTITLE: 'THREAD3 - a message was killed - check threaded message file'
' $PAGE
'
' SUBROUTINE NAME -- THREAD3
'
' INPUT PARAMETERS -- PARAMETER MEANING
' CURRENT.MESSAGE Message's number
'
' OUTPUT PARAMETERS -- <<NONE>>
'
' SUBROUTINE PURPOSE -- SUBROUTINE TO ...
'
SUB THREAD3 (CURRENT.MESSAGE,GRN$) STATIC
IF INSTR(GRN$," ") = 0 THEN
FILE.NAME$ = GRN$ + "T"
ELSE
FILE.NAME$ = LEFT$(GRN$,INSTR(GRN$," ")-1)+"T"
END IF
OPEN "R",9,FILE.NAME$,12
FIELD 9, 6 AS CM$, 6 AS HMN$
AA$ = ""
ZZ$ = ""
FOR I = 1 TO INT(LOF(9)/12)
GET 9,I
IF RIGHT$(HMN$,1) = "K" THEN 59690
IF VAL(CM$) = CURRENT.MESSAGE AND RIGHT$(HMN$,1) <> "K" THEN
AA$ = AA$ + HMN$
END IF
IF VAL(HMN$) = CURRENT.MESSAGE AND RIGHT$(CM$,1) = "K" THEN
ZZ$ = LEFT$(CM$,5) + FG.1$+"(deleted) "+EMPHASIZE.OFF$
END IF
IF VAL(HMN$) = CURRENT.MESSAGE AND RIGHT$(CM$,1) <> "K" THEN
ZZ$ = CM$
END IF
59690 NEXT I
IF JUST.SEARCHING THEN
CLOSE (9)
EXIT SUB
END IF
IF LEN(AA$) > 0 THEN
CALL QTPUT(FG.3$+" Reply(ies) in message number(s): "+FG.4$ + AA$+EMPHASIZE.OFF$,1)
END IF
IF LEN(ZZ$) > 0 THEN
CALL QTPUT (FG.4$+" This message is in reply to message " +FG.1$+ ZZ$+EMPHASIZE.OFF$,1)
END IF
CALL QTPUT (FG.3$+ "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"+EMPHASIZE.OFF$,1)
CLOSE (9)
59695 END SUB ' THREAD3
'
' $SUBTITLE: 'THREAD4 - UPDATE CONFR.DEF FILE FOR MESSAGE RECOVERY'
' $PAGE
'
' SUBROUTINE NAME -- THREAD4
'
' INPUT PARAMETERS -- PARAMETER MEANING
'
' MESSAGE.TO.RECOVER MESSAGE NUMBER BEING RECOVERED
' FIRST.MESSAGE.RECORD NOT USED HERE BUT PASSED IN
' FROM RBBS CALL TO SUB2
' ACTION.FLAG PASSED FROM SUB2 NEEDED TO
' GIVE BACK TO RBBS MAIN CODE
' GRN$ CONFERENCE NAME
'
' OUTPUT PARAMETERS -- <<NONE>>
'
' SUBROUTINE PURPOSE -- SUBROUTINE - UPDATE CONFR.DEF FILE AFTER MSG RECVRY
'
SUB THREAD4 (MESSAGE.TO.RECOVER,FIRST.MESSAGES.RECORD,ACTION.FLAG,GRN$) STATIC
IF INSTR(GRN$," ") = 0 THEN
FILE.NAME$ = GRN$ + "T"
ELSE
FILE.NAME$ = LEFT$(GRN$,INSTR(GRN$," ")-1)+"T"
END IF
OPEN "R",9,FILE.NAME$,12 'WILL CREATE FILE IF NOT EXIST
FIELD 9, 6 AS CM$, 6 AS HMN$
FOR I = 1 TO INT(LOF(9)/12)
GET 9,I
IF VAL(CM$) = MESSAGE.TO.RECOVER THEN
LSET CM$ = LEFT$(CM$,5) + " "
PUT 9,I
ELSE
IF VAL(HMN$) = MESSAGE.TO.RECOVER THEN
LSET HMN$ = LEFT$(HMN$,5) + " "
LSET CM$ = LEFT$(CM$,5) + " "
PUT 9,I
END IF
END IF
NEXT I
CLOSE (9)
59698 END SUB 'THREAD4
'
' $SUBTITLE: 'Error Handling for separately compiled subroutines'
' $PAGE
'
' *****************************************************************************
' * Error handling for the separately compiled subroutines of RBBS-PC *
' *****************************************************************************
'